//Sat Jun 19 10:53:42 CDT 2010
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>

using namespace std;

class TwoRegisters
{
public:
	string minProg(int n)
	{
//		set<string> v;
//		set<string>::iterator it;
//		int p = n % 2 == 0 ? n / 2 - 1 : n / 2;
//		for (int i = 1; i <= n; i++)
//		{
//			string s = search(i, n - i);
//			if (s != "Z")
//				v.insert("X" + s);
//		}
//		it = v.begin();
//		return (*it);
	}
//	string search(int p, int q)
//	{
//		if (p == 1 && q == 1)
//			return "";
//		if (p == q)
//			return "Z";
//		string ret = "";
//		if (p > q)
//		{
//			string s = search(p - q, q);
//			if (s == "Z")
//				return "Z";
//			else
//				return s + "X";
//		}
//		else
//		{
//			string s = search(p, q - p);
//			if (s == "Z")
//				return "Z";
//			else
//				return s + "Y";
//		}
//	}
};
